This application claims the benefit of priority under U.S.C. §120 from U.S. patent application Ser. No. 10/917,677, filed Aug. 13, 2004.
Computers and other devices are commonly interconnected to facilitate communication among one another using any one of a number of available standard network architectures and any one of several corresponding and compatible network protocols. One of the most commonly employed of such standard architectures is the Ethernet® network architecture. Other types of network architectures that are less widely used include ARCnet, Token Ring and FDDI. Variations of the Ethernet® standard are differentiated from one another based on characteristics such as maximum throughput (i.e. the highest data transmission rate) of devices coupled to the network, the type of medium used for physically interconnecting the devices (e.g. coaxial cable, twisted pair cable, optical fibers, etc.) and the maximum permissible length of the medium. Ethernet® is a registered trademark of Xerox Corporation.
Packet switched network protocols are commonly employed with architectures such as the Ethernet® standard. These protocols dictate the manner in which data to be transmitted between devices coupled to the network are formatted into packets for transmission. One commonly used protocol is the Transmission Control Protocol/Internet Protocol (TCP/IP). TCP/IP is typically used in Internet applications, or in intranet applications such as a local area network (LAN). The data packets received through a network resource of the destination device are processed in reverse according to the selected protocol to reassemble the payload data contained within the received packets. In this manner, computers and other devices can share information in accordance with these higher level protocols over the common network.
One of the most basic and widely implemented networks is the Local Area Network (LAN). In its simplest form, a LAN is a number of devices (e.g. computers, printers and other specialized peripherals) connected to one another by some form of signal transmission medium such as coaxial cable to facilitate direct peer-to-peer communication there between. A common network paradigm, often employed in LANs as well as other networks, is known as the client/server paradigm. This paradigm involves coupling one or more large computers (typically having very advanced processing and storage capabilities) known as servers to a number of smaller computers (such as desktops or workstations) and other peripheral devices shared by the computers known as clients. The clients send requests over the network to the one or more servers to facilitate centralized information storage and retrieval through programs such as database management and application programs stored on the server(s). Servers may also be used to provide centralized access to other networks and various other services as are known to those of skill in the art. The servers provide responses over the network to the clients in response to their requests. Clients and/or servers can also share access to peripheral resources, such as printers, scanners, and the like over the network.
LANs are often coupled together to form even larger networks, such as wide area networks (WANs), or they may be coupled to the Internet. LANs may also be segmented into logical sub-networks called virtual LANs (VLANs), and a particular network device's access to the segments is controlled by a switch that can be programmed in real time to couple network resources of that device to one, some or all of the VLAN segments.
Network interface resources are required to couple computers and other devices to a network. These interface resources are sometimes referred to as network adapter cards or network interface cards (NICs), each adapter card or NIC having at least one port through which a physical link is provided between the network transmission medium and the processing resources of the network device. Data is communicated (as packets in the case of packet switched networks) from the processing resources of one network device to the other. The data is transmitted and received through these interface resources and over the media used to physically couple the devices together. Adapter cards or NICs are commercially available that are designed to support one or more variations of standard architectures and known topologies.
Each of the network devices typically includes a bus system through which the processing resources of the network devices may be coupled to the NICs. The bus system is usually coupled to the pins of edge connectors defining sockets for expansion slots. The NICs are coupled to the bus system of the network device by plugging the NIC into the edge connector of the expansion slot. In this way, the processing resources of the network devices are in communication with any NICs or network adapter cards that are plugged into the expansion slots of that network device. As previously mentioned, each NIC or network adapter must be designed in accordance with the standards by which the network architecture and topology are defined to provide appropriate signal levels and impedances (i.e. the physical layer) to the network. This of course includes an appropriate physical connector for interfacing the NIC to the physical transmission medium employed for the network (e.g. coaxial cable, twisted-pair cable, fiber optic cable, etc.).
It is desirable that certain connections (e.g. access by clients to network server(s)) be as reliable as possible. It is also desirable that some network devices (e.g. network server(s)) be able to receive and respond to numerous incoming requests from other devices on the network (such as clients) as quickly as possible. As processing speed continues to increase and memory access time continues to decrease for a network device such as a server, the bottleneck for device throughput becomes pronounced at the interface to the network. While network architectures and associated network adapters are being designed to handle ever-increasing throughput rates, the price for implementing interface resources supporting the highest available throughput is not always cost-effective.
In light of the foregoing, it has become common to improve the reliability and throughput of a network by coupling some or all of the network devices to the network through redundant network resources. These redundant links to the network may be provided as a team by a plurality of single-port NMCs, a single NIC having more than one port or a combination thereof. Teaming of network interface resources is particularly common for servers, as the demand for throughput and reliability is typically greatest for servers on a network. Resource teams are typically two or more NICs (actually two or more NIC ports) logically coupled in parallel to appear as a single virtual network adapter to the other devices on the network. These resource teams can provide aggregated throughput of data transmitted to and from the network device employing the team and/or fault tolerance (i.e. resource redundancy to increase reliability).
Fault tolerant teams of network resources commonly employ two or more network adapter or NIC ports, one port being “active” and designated as the “primary,” while each of the other members of the team are designated as “secondary” and are placed in a “standby” mode. A NIC or NIC port in standby mode remains largely idle (it is typically only active to the limited extent necessary to respond to system test inquiries to indicate that it is still operational) until activated to replace the primary adapter when it has failed. In this way, interruption of a network connection to a critical server may be avoided notwithstanding the existence of a failed network adapter card or port.